1. Field of the Invention
The present invention relates to using nodes to manage, in a distributed object-oriented database, non-routing information generated dynamically at a mobile network node.
2. Description of the Related Art
Networks of general-purpose computer systems and special purpose devices connected by external communication links are well known and widely used in commerce. The networks often include one or more network devices that facilitate the passage of information between the computer systems and special devices. A network node is a network device or computer system or special device connected by the communication links. An “end node” is a node that is configured to originate or terminate communications over the network. An “intermediate network node” facilitates the passage of data between end nodes.
Communications between nodes are typically effected by exchanging discrete packets of data. Information is exchanged within data packets according to one or more of many well known, new or still developing protocols. In this context, a protocol consists of a set of rules defining how the nodes interact with each other based on information sent over the communication links. Each packet typically comprises 1] header information associated with a particular protocol, and 2] payload information that follows the header information and contains information that may be processed independently of that particular protocol. In some protocols, the packet includes 3] trailer information following the payload and indicating the end of the payload information. The header includes information such as the source of the packet, its destination, the length of the payload, and other properties used by the protocol. Often, the data in the payload for the particular protocol includes a header and payload for a different protocol associated with a different layer of detail for information exchange. The protocol in the payload is said to be encapsulated in the protocol of the header. The headers included in a packet traversing multiple heterogeneous networks, such as the Internet, typically include a physical (layer 1) header, a data-link (layer 2) header, an internetwork (layer 3) header and a transport (layer 4) header, as defined by the Open Systems Interconnection (OSI) Reference Model. The OSI Reference Model is generally described in more detail in Section 1.1 of the reference book entitled Interconnections Second Edition, by Radia Perlman, published September 1999, which is hereby incorporated by reference as though fully set forth herein.
The internetwork header provides information defining the source and destination address within the computer network. Notably, the path may span multiple physical links. The internetwork header may be formatted according to the Internet Protocol (IP), which specifies IP addresses of both a source and destination node at the end points of the logical path. Thus, the packet may “hop” from node to node along its logical path until it reaches the end node assigned to the destination IP address stored in the packet's internetwork header.
Routers and switches are network devices that determine which communication link or links to employ to support the progress of data packets through the network. A network node that determines which links to employ based on information in the internetwork header (layer 3) and knowledge of at least a portion of the network topology is called a router. Some protocols pass protocol-related information among two or more network nodes in special control packets that are communicated separately and which include a payload of information used by the protocol itself rather than a payload of data to be communicated for another application. These control packets and the processes at network nodes that utilize the control packets are said to be in another dimension, a “control plane,” distinct from the “data plane” dimension that includes the data packets with payloads for other applications.
A link-state protocol is an example of a “routing protocol,” which only exchanges control plane messages used for routing data packets sent in a different “routed protocol” (e.g., IP). A link-state method floods routing information to all nodes on the internetwork in a link-state protocol control plane data packet; however, each router sends only the portion of the routing information that describes the state of its own links. Link-state data indicates direct links between a network node that performs routing functions (a router) and a different router (e.g., links on the same network segment, which does not involve a third router). The link-state data also indicates other characteristics of those links, such as bandwidth and congestion. According to link-state methods, each router builds a topology model of the connections in the entire network in its routing tables based on the link-state data received from other routers. Routing decisions are based on the topology model of connections throughout the network.
User data includes other data routed between end nodes on a network. Digital files and databases of user data at end nodes are well known and widely used. Distributed systems of user data take advantage of the multiplicity of nodes in a network to distribute storage, processing and communication loads among different end nodes. Distributed systems are well known and widely used on various networks. For example, the World Wide Web distributes files of user data, called pages, over multiple end nodes on the public Internet. Many distributed systems, including the World Wide Web, electronic mail (e-mail) and file transfer protocol (FTP), are built on the client-server model for interaction among multiple processes executing on one or more nodes.
Some distributed systems do not rely on a client request and server response, but instead automatically send information to certain nodes without waiting for a request. An example of such a distributed system is a broadcast or subscription service. These systems are similar to radio and television broadcasts or newspaper home delivery. A subscriber signs up for the service and then a publisher/broadcaster sends information at times determined by the publisher/broadcaster, such as when the publisher/broadcaster produces the data. For example, the Really Simple Syndication (RSS) service (also known as the Rich Site Summary) sends new web page content to subscribers when a particular World Wide Web page changes. RSS uses a particular format so the information can be inserted in an existing copy of a World Wide Web page stored on the subscriber's node. Whereas the client-server model is a “pull” of information, the subscription services provide a “push” of information.
In emerging network systems, network nodes, both intermediate network nodes and end nodes, are not fixed assets in a building or campus, but, instead, include mobile network nodes that are deployed as moving assets on mobile users, such as persons, animals, robots, vehicles and earth-orbiting satellites. In such systems, topology models of current communication links are not sufficient to make decisions on how and where to route information managed by the network. Information on the spatial arrangement of nodes and users of those nodes becomes important, and may even affect the routes taken to distribute data. It is often desirable that the data pulled by a client or pushed by a publisher depend on the spatial relationship between the user of the mobile node and other users, nodes or data items in the distributed system.
For example, mobile ad hoc networks (MANets) involve mobile wireless routers that network with other fixed or mobile wireless routers with which they come into transmission range. The mobile routers can be carried by humans, animals or vehicles, including robots and earth-orbiting satellites, to interface multiple electronic devices also carried. MANets have applications in tactical police and military and emergency medical services scenarios, including Search and Rescue and other responses to environment-damaging accidents, terrorist attacks and natural disasters, among others. The mobile routers feed information to various control interfaces for the vehicles or various display elements for a human user or stimuli for animals. The routers also receive and transmit to the network information from various sensors or input devices operated by the user, such as the person, an animal or the vehicle. The MANets allow different units to share more information more quickly so that the multiple units can proceed as a coordinated whole. Many network nodes have position information available, such as a location from the Global Positioning System (GPS) widely known and used in commerce, or location from a local triangulation system using three or more electromagnetic wave beacons or acoustic beacons.
In an example scenario, a rescue worker must proceed into a multi-chambered cave to search for a missing human victim. The worker is transported with multiple robots to the site by a large vehicle. The large vehicle has a wide area network connection to a data center with a geographic information system (GIS) that include a map of the cavern chambers. The robots carry end nodes and wireless routers and the end nodes are programmed to operate the robots in order to maintain MANet connectivity between the vehicle and the worker as the worker winds through the cavern.
At first all the robots and the worker are in an overlapping area of wireless coverage. Full network connectivity and adjacency among all robots and the worker consumes network resources, is temporary and is unneeded. Instead, it is preferable that the robots form a line from the large vehicle to the worker based on spatial positions of the large vehicle and the worker. The topographic adjacency of each wireless router is then only established between the spatially preceding and spatially following robots near the limit of the range. Thus routing information depends on location information.
As the worker moves into the cavern, the robots increase their separation based on the spatial information to maintain wireless MANet communications in series from the worker to the large vehicle. Thus, information communicated to the intermediate node for the user is preferably based on location data. If necessary, one or more routers are reconfigured to use increased power to keep a router on an adjacent robot in range. Thus, intermediate node configuration is preferably based on location data.
The information the worker wants communicated over this robot-assisted network from the GIS depends on where the worker is located. If the location of the worker and the worker's heading (orientation) is communicated by the worker's end node to a GIS client, then it is preferable that the GIS client somewhere on the network request from the GIS what is ahead of the worker. Thus the non-routing information to be communicated over the network is preferably based on worker location and heading data.
Other spatial information, such as size and shape, is also useful in communicating data over a network. For example, if the large vehicle is bigger than the cave mouth, then it is not desirable to position the large vehicle in the cave entrance to support network communications with the worker. A desirable proximity of the location of the center of mass of the large vehicle to the position of the center of the cave mouth depends on the size and shape of the large vehicle and the size and the shape of the cave mouth.
As another example, it is noted that many buildings are currently equipped with multiple access points for wireless network communication links. If a mobile node using the access point requests information about the building, the response is preferably based on the user's location and not the location of the access point. For example, if the user is located on a floor above the access point, a request for a restroom or fire extinguisher location is better answered with directions to a restroom or fire extinguisher on the same floor as the user and not with directions to a restroom or fire extinguisher on the same floor as the access point.
In some approaches, location data available from a network node is used to select and configure a network node by changing, for example the power and frequency used for one or more wireless communication links. See, for example, H. Arnold et al., U.S. Pat. No. 6,748,233, Jun. 8, 2004 and R. Kennedy, U.S. Pat. Nos. 6,763,013, and 6,763,014, Jul. 13, 2004. Time series of location data is used to predict present and future advantageous nodes and configurations to maintain connectivity.
In another approach, vehicles carrying mobile nodes are moved to establish or preserve node adjacencies that support desirable routing. See Billy Moon et al., “Arrangement For Autonomous Mobile Network Nodes To Organize A Wireless Mobile Network Based On Detected Physical And Logical Changes,” U.S. patent application Ser. No. 10/679,319, filed on Oct. 7, 2003 and published Apr. 7, 2005 as US Published Patent Application Publication No. 20050076054, the entire contents of which are hereby incorporated by reference as if fully set forth herein.
Spatial information available from mobile nodes also can be used to select the non-routing data to be delivered over the wireless communication link. As used here, spatial information includes physical location information or physical shape information or physical size information or physical orientation information, or some combination. For example, a dynamic network system could automatically send the appropriate cave information to the rescue worker or provide the data of the correct building floor to the office worker.
Temporary objects (also called beacon objects) also can be used in an object-oriented database. The beacon objects could include a lifetime attribute and a state attribute. The state attribute could hold data that indicates any information that a user of a mobile node desires to associate with a physical entity represented by a spatial object in a spatial hierarchy of the object-oriented database. For example, the state attribute could hold data that indicates a room in the example cave has been searched and found clear. By default, the objects are owned by a mobile node that creates them; yet they describe the physical entity represented by the spatial object. As the mobile node that owns the beacon moves away from the physical entity represented by the spatial object, the mobile node might lose its association with the spatial object. Thus the mobile node's beacon object might lose its association with the spatial object and be rendered useless to subsequent mobile nodes that come into the vicinity of the physical entity represented by the spatial object. Furthermore, a user of a mobile node may want to generate information about a physical entity that is moving, such as a user of another mobile node or a target of a search, which target does not have a mobile node of the network. Furthermore, a user of mobile node may want to generate persistent information that does not expire for some physical entity.
Based on the foregoing, there is a clear need for techniques to keep a beacon object associated with a spatial object that did not create the beacon object.
Based on the foregoing, there is also a clear need for techniques to associate a beacon object with a physical entity that is moving.
Based on the foregoing, there is also a clear need for techniques to associate a physical entity with a beacon object that persists indefinitely.
The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not to be considered prior art to the claims in this application merely due to the presence of these approaches in this background section.